package utilidades;

import java.util.List;

public class Camino {
	
	private Aldea aldeaOrigen;
	private Aldea aldeaDestino;
	private int distancia;
	
	public Camino (Aldea unaAldea, Aldea otraAldea, int laDistancia){
		
		aldeaOrigen = unaAldea;
		aldeaDestino = otraAldea;
		distancia = laDistancia;
		
	}
	
	public Camino clone(){
		
		return new Camino(aldeaOrigen.clone(),aldeaDestino.clone(),distancia);
	}

	public Aldea getAldeaOrigen() {
		return aldeaOrigen;
	}

	public Aldea getAldeaDestino() {
		return aldeaDestino;
	}

	public int getDistancia() {
		return distancia;
	}
	
	public static boolean hayCamino(Aldea origen, Aldea destino, List <Camino> caminos){
	
		for(int i = 0; i < caminos.size(); i++)
			if((caminos.get(i).getAldeaOrigen().equals(origen) && caminos.get(i).getAldeaDestino().equals(destino)) || 
					(caminos.get(i).getAldeaOrigen().equals(destino) && caminos.get(i).getAldeaDestino().equals(origen)))
				return true;
		return false;
		
	}

	public static int distanciaCamino(Aldea origen, Aldea destino, List <Camino> caminos){
		
		for(int i = 0; i < caminos.size(); i++)
			if((caminos.get(i).getAldeaOrigen().equals(origen) && caminos.get(i).getAldeaDestino().equals(destino)) || 
					(caminos.get(i).getAldeaOrigen().equals(destino) && caminos.get(i).getAldeaDestino().equals(origen)))
				return caminos.get(i).getDistancia();
		return 0;
		
	}

	
}
